#include <iostream>
using namespace std;
const int N=10;
int n=9;
int a[N][N];
bool row[N][N],col[N][N],st[N][N][N];
bool dfs(int x,int y)
{
	if(y==n)
	{
		x++;
		y=0;
	}
	if(x==n)return true;
   if(a[x][y])return dfs(x,y+1);
	for(int i=1;i<=n;i++)
	{
		if(row[x][i]||col[y][i]||st[x/3][y/3][i])continue;
		a[x][y]=i;
		row[x][i]=col[y][i]=st[x/3][y/3][i]=true; 
		if(dfs(x,y+1))return true;
		row[x][i]=col[y][i]=st[x/3][y/3][i]=false; 
		a[x][y]=0; 
	}
	return false;
}
int main()
{
	for(int i=0;i<9;i++)
	{
		for(int j=0;j<9;j++)
		{
			cin>>a[i][j];
			int x=a[i][j];
			if(x)
			{
				row[i][x]=col[j][x]=st[i/3][j/3][x]=true;
			}
		}
	}
	dfs(0,0);
	for(int i=0;i<9;i++)
	{
		for(int j=0;j<9;j++)
		{
			cout<<a[i][j]<<" ";
		}
			cout<<endl;
	}
	return 0;
}
